home *** CD-ROM | disk | FTP | other *** search
/ Amiga Developer CD 2.1 / Amiga Developer CD v2.1.iso / Contributions / Haage_&_Partner / StormC / StormC_3.0 / Readme < prev    next >
Encoding:
Text File  |  1998-08-09  |  6.6 KB  |  224 lines

  1. © HAAGE & PARTNER Computer GmbH 
  2.  
  3.   Schlossborner Weg 7
  4.   D-61479 Glashuetten
  5.   Germany
  6.  
  7.   Tel: ++49  61 74 / 96 61 00
  8.   Fax: ++49  61 74 / 96 61 01
  9.  
  10.   Internet: storm-support@haage-partner.com
  11.   Homepage: http://www.haage-partner.com
  12.  
  13. First of all we want to thank you for purchasing StormC. So you told
  14. us that we did the right thing by developing StormC.
  15.  
  16. These are the changes in comparison to Version 1.1:
  17. ======================================================================
  18.  
  19. StormShell
  20. - Expandet optiondialog
  21. - GoldED 4.0 is includet in the package
  22.  
  23. Project Manager
  24. - Make of hierarchical projects
  25. - Own ARexx-Makescripts
  26. - New project section for StormLibrarian
  27.  
  28. StormEd
  29. - bracket-check
  30. - block indent
  31. - new colour controls
  32. - new project template
  33.  
  34. StormRun
  35. - Stack and CPU register window
  36. - Disassembler
  37. - Profiler
  38.  
  39. StormC
  40. - new optimisation levels
  41. - new keyword "__interrupt"
  42.  
  43. StormLibrarian
  44. - simple creation of linker libraries
  45. - Sort function
  46.  
  47. Tools
  48. - FD2Pragma
  49.  
  50.  
  51. Editor Key Map:
  52. ************************
  53.  
  54. Shift-Cursor Up/Down
  55.         Moves the cursor to the first/last line displayed in the window.
  56.  
  57. Shift-Cursor Left/Right
  58.         Moves the cursor to the first/last column of the current line.
  59.  
  60. Alt-Cursor Up/Down
  61.         Jumps to the start/end of the text.
  62.  
  63. Alt-Cursor Left/Right
  64.         Moves the cursor to the next word in front of or behind the cursor.
  65.  
  66. Shift-Delete oder Shift-Backspace
  67.         Deletes the line the cursor stands. It is stored in the clipboard.
  68.  
  69. Alt-Delete
  70.         Deletes the line starting form the position of the cursor to the end.
  71.  
  72. Alt-Backspace
  73.         Deletes the text from the start to the cursor position.
  74.  
  75. Help
  76.   Opens the Online Help and displays an explanation to the word under the cursor.
  77.   The word must be an ANSI-C or C++ standard function.
  78.  
  79.  
  80. Advices to PhxAssembler
  81. ************************
  82.  
  83. As a bonus the freeware assembler FreePhxAss is delivered with
  84. StormC. It is mainly for useful for developers of PD compilers which
  85. use it for translation of their compiler output. The function size
  86. is *very* limited: There are no macros, no includes, no conditioned
  87. assembling. Many directives are also not available. 
  88.  
  89. FreePhxAss can be used freely, but the name of the Author should
  90. be mentioned in the project.
  91.  
  92. If you are interested in PhxAss, there is a registered version that
  93. is available at a low price.
  94.  
  95. Please contact
  96.  
  97. SMail:                  Frank Wille
  98.                         Auf dem Dreische 45
  99.                         32049 Herford
  100.                         Germany
  101.  
  102. EMail:                  frank@phoenix.owl.de
  103.  
  104.  
  105. Some Frequently asked Questions and Answers !
  106. *****************************************
  107. Q 1:
  108. ********
  109.  
  110. Why has StormC no Global Optimiser" ?
  111.  
  112. Answer:
  113. The compiler of StormC offers already a good optimisations. Some of
  114. the used techniques are also part of a global optimiser. Especially
  115. the optimised organisation of the global CPU and FPU registers is such
  116. a one.
  117.  
  118. StormC is already prepared to do more of the global optimisations in
  119. further versions. They can be implemented step by step. But as said
  120. before the optimisation of StormC and StormLINK. 
  121.  
  122. Q 2:
  123. ********
  124.  
  125. Why does a small "Hello World" gets so long (some Kbytes) ?
  126.  
  127. Answer:
  128. "Storm.lib" is a highly compatible ANSI C library that offers buffered I/O.
  129.  
  130. The program "Hello World" uses "printf" of the "Storm.lib", but it
  131. does not differ between the output of integer or floating point, so
  132. there are unused parts of the library in your code that makes small
  133. programs relatively large.
  134.  
  135. If only ANSI C is used the library "StormAmiga.lib" can be used. This
  136. is a highly optimised assembler library that generates very small and
  137. fast programs. It only supports "far code" and "far data" model.
  138.  
  139. Q 3:
  140. ********
  141.  
  142. How can I get a short "Hello World" using Storm.Lib ?
  143.  
  144. Answer:
  145. If floating point is needed and buffered I/O of AmigaDOS is enough
  146. AmigaDOS functions can be used for this. "Vprintf" and "VFPrintf"
  147. will directly output to AmigaDOS files, just like "printf". But these
  148. functions are not 100% ANSI compatible.
  149.  
  150. Another possibility is to resign on automatically open and close of
  151. libraries and its comfortable error handling which differs between
  152. Workbench and CLI start while paying attention to OS 1.3 and older.
  153. This comfort is not necessary for all programs.
  154.  
  155. So a minimal startup code, written in assembler can be used, that only
  156. does the essential jobs, e.g. only supporting the small data model,
  157. not supporting resident programs ...
  158.  
  159. Q 4:
  160. ********
  161.  
  162. Why is the library "storm.lib" such a big one and why is there
  163. only a single one (in contrast to SAS/C) ?
  164.  
  165. Answer:
  166. StormC support a further developed object format that is used for
  167. linker libraries as well. It is 100% compatible to the old one. Its
  168. advantage is that the Linker and the Compiler of StormC can accommodate
  169. more data models in one object file. So the programmer must not decide
  170. which is the right library that fits the used data model (far data,
  171. near data(a4), near data(a6)). This caused many errors. Now the linker
  172. takes the needed parts out of "Storm.lib". For these reasons "Storm.lib"
  173. is nearly as big as these three libraries of SAS/C.
  174.  
  175. In the future StormC will support even more code modells and CPU and
  176. FPU models, so "Storm.lib" will allow the optimised program generation
  177. automatically.
  178.  
  179. Q 5:
  180. ********
  181.  
  182. Why does the linker displays the error message "Symbol _exit
  183. not defined", when linking as Shared Library ?
  184.  
  185. Answer:
  186. The Shared Library calls the ANSI function exit(). This can be done
  187. directly by the programmer or indirectly by the linker library which
  188. uses this function. "Storm.lib" uses this function to automatically
  189. open the used Shared Library, e.g. the "utility.library".
  190.  
  191. Basically a Shared Library is not allowed to use exit(), cause it
  192. can not be finished simply.
  193.  
  194. How to avoid this call ?
  195.  
  196. You should not use the automatic opening of used Shared Libraries.
  197. Instead you must open and close the library as it is described in
  198. the manual.
  199.  
  200. To get a list of all used libraries you should include
  201.  
  202. void exit() {}
  203.  
  204. into the Shared Library. Now you can link it.
  205.  
  206. You should use the linker option "Write Map File". The linker will
  207. generate a file with the extension ".map". Now watch all INIT
  208. functions which contain the basis name of the Shared Library, e.g.
  209. INIT_1_UtilityBase.
  210.  
  211. Now open all these libraries with your own routines. Pay attention
  212. to declare the corresponding basis variable (e.g. UtilityBase). Do not
  213. forget to remove your own exit() function from the source. 
  214.  
  215. (c) HAAGE & PARTNER Computer GmbH - We develop to WarpUp the AMIGA
  216.  
  217.